package com.clever.mall.service;

import com.clever.mall.commons.dto.ConsignmentBaseInfoRequestParam;
import com.clever.mall.commons.dto.ConsignmentRequestParam;
import com.clever.mall.commons.dto.UpdateAllPriceRequestParam;
import com.clever.mall.commons.dto.UserRequestParam;
import com.clever.mall.commons.result.ConsignmentResult;
import com.clever.mall.commons.result.TotalConsignmentResult;
import com.clever.mall.vo.ProductCheckVo;
import com.clever.mall.vo.ProductVo;

import java.text.ParseException;
import java.util.List;

/**
 * @author ChenWang
 * @interfaceName SellService
 * @date 2020/11/11 10:01
 * @since JDK 1.8
 */
public interface SellService {

    TotalConsignmentResult getTotalCheckResult(UserRequestParam userRequestParam);

    TotalConsignmentResult getTotalReturnResult(UserRequestParam userRequestParam);

    List<ProductCheckVo> getProductCheckVos(ConsignmentRequestParam consignmentRequestParam);

    int updateAllPrice(UpdateAllPriceRequestParam updateAllPriceRequestParam);

    ConsignmentResult getConsignmentUnPassResult(ConsignmentRequestParam consignmentRequestParam);

    int identifyReturn(ConsignmentRequestParam consignmentRequestParam);

    int identifyAbandon(ConsignmentRequestParam consignmentRequestParam);

    int saveConsignment(ConsignmentBaseInfoRequestParam consignmentBaseInfoRequestParam) throws ParseException;

    List<ProductVo> getOnSaleProductVos(UserRequestParam userRequestParam, int page, int size);

    List<ProductVo> getBeenSoldProductVos(UserRequestParam userRequestParam, int page, int size);
}
